// 初中奥数知识点数据
// 专门针对6-9年级的奥数竞赛内容

export interface MiddleSchoolTopic {
  id: string;
  name: string;
  description: string;
  gradeLevel: number[];
  difficulty: number; // 1-5级难度
  category: string;
  prerequisites?: string[];
  examples: string[];
  keyPoints: string[];
}

export const MIDDLE_SCHOOL_TOPICS: MiddleSchoolTopic[] = [
  // 代数基础类
  {
    id: 'linear-equations',
    name: '一元一次方程',
    description: '一元一次方程的解法及应用',
    gradeLevel: [6, 7],
    difficulty: 2,
    category: '代数基础',
    examples: [
      '解方程：3(x-2) = 2(x+1) + 5',
      '应用题：甲乙两数和为50，甲比乙大8，求两数'
    ],
    keyPoints: [
      '移项变号',
      '合并同类项',
      '系数化为1'
    ]
  },
  {
    id: 'linear-inequalities',
    name: '一元一次不等式',
    description: '一元一次不等式及不等式组的解法',
    gradeLevel: [7, 8],
    difficulty: 3,
    category: '代数基础',
    examples: [
      '解不等式：2x-3 > x+1',
      '解不等式组：{x+1>0, 2x-1<3}'
    ],
    keyPoints: [
      '不等式的基本性质',
      '不等号方向的变化',
      '不等式组解集的表示'
    ]
  },
  {
    id: 'binary-linear-equations',
    name: '二元一次方程组',
    description: '二元一次方程组的解法及应用',
    gradeLevel: [7, 8],
    difficulty: 3,
    category: '代数基础',
    examples: [
      '解方程组：{2x+y=7, x-y=2}',
      '应用题：鸡兔同笼用方程组解法'
    ],
    keyPoints: [
      '代入消元法',
      '加减消元法',
      '实际问题的建模'
    ]
  },

  // 函数类
  {
    id: 'function-basics',
    name: '函数基础',
    description: '函数的概念、表示方法及性质',
    gradeLevel: [8, 9],
    difficulty: 3,
    category: '函数',
    examples: [
      '判断y=2x+1是否为函数',
      '求函数y=x²-2x的定义域'
    ],
    keyPoints: [
      '函数的定义',
      '函数的三种表示方法',
      '函数的定义域和值域'
    ]
  },
  {
    id: 'linear-functions',
    name: '一次函数',
    description: '一次函数的图像性质及应用',
    gradeLevel: [8, 9],
    difficulty: 3,
    category: '函数',
    examples: [
      '画出函数y=2x-1的图像',
      '求过点(1,2)和(3,4)的直线方程'
    ],
    keyPoints: [
      '一次函数的图像是直线',
      'k值决定倾斜程度',
      'b值决定与y轴交点'
    ]
  },
  {
    id: 'inverse-proportional-functions',
    name: '反比例函数',
    description: '反比例函数的图像性质及应用',
    gradeLevel: [8, 9],
    difficulty: 4,
    category: '函数',
    examples: [
      '画出函数y=6/x的图像',
      '反比例函数在实际问题中的应用'
    ],
    keyPoints: [
      '反比例函数的图像是双曲线',
      '图像关于原点对称',
      'k值的几何意义'
    ]
  },
  {
    id: 'quadratic-functions',
    name: '二次函数',
    description: '二次函数的图像性质及最值问题',
    gradeLevel: [9],
    difficulty: 5,
    category: '函数',
    examples: [
      '求二次函数y=x²-4x+3的顶点坐标',
      '利用二次函数解决最值问题'
    ],
    keyPoints: [
      '二次函数的图像是抛物线',
      '顶点坐标公式',
      '开口方向的判断',
      '与x轴交点的求法'
    ]
  },

  // 几何基础类
  {
    id: 'geometric-proof',
    name: '几何证明',
    description: '平面几何的基本证明方法',
    gradeLevel: [7, 8, 9],
    difficulty: 4,
    category: '几何基础',
    examples: [
      '证明：等腰三角形两底角相等',
      '证明：平行四边形对角线互相平分'
    ],
    keyPoints: [
      '几何证明的基本步骤',
      '常用的几何定理',
      '辅助线的作法'
    ]
  },
  {
    id: 'triangle-properties',
    name: '三角形性质',
    description: '三角形的边角关系及特殊三角形',
    gradeLevel: [7, 8],
    difficulty: 3,
    category: '几何基础',
    examples: [
      '在三角形ABC中，若a=3，b=4，c=5，判断三角形形状',
      '等腰三角形的性质应用'
    ],
    keyPoints: [
      '三角形三边关系',
      '三角形内角和定理',
      '等腰三角形的性质',
      '直角三角形的判定'
    ]
  },
  {
    id: 'pythagorean-theorem',
    name: '勾股定理',
    description: '勾股定理及其逆定理的应用',
    gradeLevel: [8],
    difficulty: 3,
    category: '几何基础',
    examples: [
      '直角三角形两直角边为3和4，求斜边长',
      '利用勾股定理逆定理判断三角形形状'
    ],
    keyPoints: [
      '勾股定理：a²+b²=c²',
      '勾股定理的逆定理',
      '勾股数的概念'
    ]
  },
  {
    id: 'quadrilateral-properties',
    name: '四边形性质',
    description: '平行四边形、矩形、菱形、正方形的性质',
    gradeLevel: [8, 9],
    difficulty: 4,
    category: '几何基础',
    examples: [
      '证明：矩形的对角线相等',
      '菱形面积的计算方法'
    ],
    keyPoints: [
      '平行四边形的判定和性质',
      '特殊平行四边形的性质',
      '四边形的面积计算'
    ]
  },
  {
    id: 'circle-properties',
    name: '圆的性质',
    description: '圆的基本性质及圆周角定理',
    gradeLevel: [9],
    difficulty: 4,
    category: '几何基础',
    examples: [
      '圆周角等于圆心角的一半',
      '切线的性质和判定'
    ],
    keyPoints: [
      '圆的基本概念',
      '圆周角定理',
      '切线的性质',
      '圆内接四边形的性质'
    ]
  },
  {
    id: 'similarity-congruence',
    name: '相似与全等',
    description: '三角形的全等和相似判定',
    gradeLevel: [8, 9],
    difficulty: 4,
    category: '几何基础',
    examples: [
      '证明两个三角形全等',
      '利用相似三角形求线段长度'
    ],
    keyPoints: [
      '全等三角形的判定',
      '相似三角形的判定',
      '相似比的应用'
    ]
  },

  // 数论进阶类
  {
    id: 'divisibility-rules',
    name: '整除性质',
    description: '整除的性质及应用',
    gradeLevel: [7, 8],
    difficulty: 4,
    category: '数论进阶',
    examples: [
      '证明：连续三个整数的乘积能被6整除',
      '求满足条件的整数解'
    ],
    keyPoints: [
      '整除的定义和性质',
      '整除的判定方法',
      '整除在证明中的应用'
    ]
  },

  // 组合数学类
  {
    id: 'advanced-counting',
    name: '高级计数',
    description: '复杂的排列组合问题',
    gradeLevel: [8, 9],
    difficulty: 5,
    category: '组合数学',
    examples: [
      '圆桌排列问题',
      '有重复元素的排列'
    ],
    keyPoints: [
      '圆形排列',
      '重复排列',
      '分组分配问题'
    ]
  },

  // 概率统计类
  {
    id: 'advanced-probability',
    name: '概率进阶',
    description: '条件概率及独立事件',
    gradeLevel: [9],
    difficulty: 4,
    category: '概率统计',
    examples: [
      '条件概率的计算',
      '独立事件的概率'
    ],
    keyPoints: [
      '条件概率公式',
      '独立事件的判定',
      '贝叶斯定理初步'
    ]
  },
  {
    id: 'statistics-analysis',
    name: '统计分析',
    description: '数据的收集、整理和分析',
    gradeLevel: [8, 9],
    difficulty: 3,
    category: '概率统计',
    examples: [
      '计算一组数据的方差',
      '制作统计图表'
    ],
    keyPoints: [
      '平均数、中位数、众数',
      '方差和标准差',
      '统计图的制作和分析'
    ]
  }
];

export const MIDDLE_SCHOOL_CATEGORIES = [
  '代数基础',
  '函数',
  '几何基础',
  '数论进阶',
  '组合数学',
  '概率统计'
];
